//
//  UIImage+Extention.swift
//  MicroBlog
//
//  Created by 002 on 15/10/14.
//  Copyright © 2015年 002. All rights reserved.
//

import UIKit

extension UIImage {

/// 便利构造函数
//    convenience init(originalModeWithImageName : String) {
//        
//        var image = UIImage.init(named: imageName)?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
//        return image
//    }
    
    /// 返回原始模式图片的拓展方法
    ///
    /// :param: imageName 图片名称
    ///
    /// :returns: 返回不经过渲染的图片
    class func originalModeImage(imageName: String) -> UIImage{
        let image = UIImage.init(named: imageName)?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        return image!
    }
    
    /// 将图像缩放到指定‘宽度’
    ///
    /// :param: width 目标宽度
    ///
    /// :returns: 如果给定的图片小于指定的宽度，直接返回
    func scaleWidth(width: CGFloat) -> UIImage {
        
        // 1. 判断宽度 - 如果图片自身宽度小于指定宽度直接返回
        if size.width <= width {
            return self
        }
        
        // 2. 计算比例 - let height / width  == size.height / size.width
        let height = size.height * width / size.width
        
        // 计算缩放后的矩形
        let rect = CGRectMake(0, 0, width, height)
        
        // 3. 使用核心绘图绘制新的图像
        // 1) 开启图形山下文
        UIGraphicsBeginImageContext(rect.size)
        
        // 2) 按指定区域绘制图形
        self.drawInRect(rect)
        
        // 3) 取返回结果
        let result = UIGraphicsGetImageFromCurrentImageContext()
        
        // 4) 关闭图形上下文
        UIGraphicsEndImageContext()
        
        // 5) 返回所取结果
        return result
    }
}